#include <stdio.h>
#include <string.h>
#include <compress/bit.h>

#include "sort/sort.h"
#include "compress/compress.h"

static int compare(const void *key1, const void *key2) {
    if (*(const char *) key1 > *(const char *) key2) {
        return 1;
    } else if (*(const char *) key1 < *(const char *) key2) {
        return -1;
    } else {
        return 0;
    }
}

int main() {
//    char data[10] = {8, 0, 2, 9, 3, 7, 5, 6, 1, 4};
//    int len = sizeof(data) / sizeof(char);
//    mgsort((void *) data, len, sizeof(char), 0, len - 1, compare);
//    for (int i = 0; i < sizeof(data); i++) {
//        printf("%d\n", data[i]);
//    }
//    return 0;
//    int data[10] = {15, 9, 99, 77, 33, 33, 77, 9, 22, 33};
//    int len = sizeof(data) / sizeof(int);
//    ctsort(data, len, 99 + 1);
//    for (int i = 0; i < len; i++) {
//        printf("%d\n", data[i]);
//    }
//    return 0;
//    char *test = "总理（英语：Premier；Prime Minister）也称为阁揆，\n"
//                 "主要是指一个国家的政府首脑，负责统领中央政府的行政工作，\n"
//                 "可通用于君主制或共和制国体。而首相一词，一般只用在君主制国家的总理之称。\n"
//                 "在君主制国家称为首相（英语：Prime minister），我们称的泰国总理、\n"
//                 "马来西亚总理等为习惯等原因沿袭下来的，部分国家的政府首脑职称\n"
//                 "正确应该被译为部长会议主席。\n"
//                 "汉语中的“总理”和“首相”两词，在其他语言中没有严格区分的对应\n"
//                 "（比如英语里“总理”和“首相”都是Premier或Prime Minister），\n"
//                 "例如：日本内阁总理大臣（通称日本首相或日本总理），\n"
//                 "苏联部长会议主席（通称苏联总理）、\n"
//                 "俄罗斯联邦政府主席（通称俄罗斯总理）、\n"
//                 "中华人民共和国国务院总理。\n"
//                 "一般来说，“首相”只用于君主制国家的政府首脑，\n"
//                 "例如英国首相、荷兰首相、瑞典首相等，\n"
//                 "但根据习惯用法有很多例外。\n"
//                 "各国政府首脑在中文里的称呼更多是根据传统译法而定，\n"
//                 "有时更可以互换使用。\n"
//                 "例如，君主制下的泰国首相在汉语里经常被称为“泰国总理”。\n"
//                 "同样君主制下的日本内阁总理大臣，\n"
//                 "在日语和汉语中都可以简称“总理”或“首相”。\n"
//                 "总理与首相两者均可用阁揆一词泛指。\n"
//                 "中华人民共和国的第一任国务院总理为周恩来， \n"
//                 "[1]  现任国务院总理为李克强。!!!!!";
    unsigned char test[] = {'A', 'B', 'c', 'd', 'e', '\0'};
//    char *test = "你好!!!----";
    lz77_test((unsigned char *) test, sizeof(test));

    bit_test();
}
